package done.normal_901_1000;

import com.study.common.TreeNode;
import org.junit.Test;

import static com.study.util.LogUtil.info;

/**
 * 938. Range Sum of BST 二叉搜索树的范围和
 * <p>
 * 给定二叉搜索树的根结点 root，返回 L 和 R（含）之间的所有结点的值的和。
 * 二叉搜索树保证具有唯一的值。
 * <p>
 * 示例 1：
 * 输入：root = [10,5,15,3,7,null,18], L = 7, R = 15
 * <p>
 * 10
 * /    \
 * 5     15
 * / \   /  \
 * 3  7  nil 18
 * <p>
 * 输出：32 = (7 + 10 + 15)
 * <p>
 * 示例 2：
 * 输入：root = [10,5,15,3,7,13,18,1,null,6], L = 6, R = 10
 * <p>
 * 10
 * /     \
 * 5      15
 * / \    /  \
 * 3  7   13  18
 * / \
 * nil  6
 * <p>
 * 输出：23 = (6 + 7 + 10)
 *
 * @author 大硕
 * 2019-05-12 17:20
 **/
@SuppressWarnings("all")
public class RangeSumOfBST {

    public int rangeSumBST(TreeNode root, int L, int R) {
        // 190512 first
        return -1;
    }

    @Test
    public void test() {
        info(rangeSumBST(
                new TreeNode(10,
                        new TreeNode(5,
                                3, 7), new TreeNode(15,
                        null, 18)), 7, 15));
    }
}











































/*
public int rangeSumBST(TreeNode root, int L, int R) {
    int ret = 0;
    if (root == null)
        return 0;

    if (root.val >= L && root.val <= R) {
        ret += root.val;
    }

    return ret + rangeSumBST(root.left, L, R) + rangeSumBST(root.right, L, R);
}
*/

